package ntd.util.frame.msg.bo;

import cn.hutool.json.JSONObject;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import ntd.util.config.common.enums.msg.EnumMsgHandle;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 推送消息入参
 */
@Data
@Schema(description = "发送消息入参")
public class MsgInBO {

    @NotBlank(message = "msgSenderUserId 不能为空！")
    @Schema(description = "消息发送人id -1 系统")
    private String msgSenderUserId;
    @NotBlank(message = "channelBusinessId 不能为空！")
    @Schema(description = "渠道商id")
    private String channelBusinessId;
    /**
     * 接收人（逗号隔开-英文）
     * 人员id（站内信，App推送需要传）
     * 人员手机号（短信需要传）
     * 人员邮箱（邮箱需要传）
     */
    private String receiverIds;
    private String receiverTags;
    private String receiverAlias;
    private String receiverPhones;
    private String receiverEmails;
    @Schema(description = "消息主体")
    private MsgInfo msgInfo;
    @Schema(description = "自定义参数")
    private String dataJson;
    /** 自定义参数 */
    private JSONObject dataJsonObj;
    @NotNull(message = "enumMsgHandle 不能为空！")
    @Schema(description = "消息类型")
    private EnumMsgHandle enumMsgHandle;

}
